// 主应用入口文件 - 使用中文封装函数
console.log('开始加载应用模块...');

// 引入中文封装模块 - 添加详细错误处理
try {
  const express模块 = require('./zh/后端/Express');
  console.log('✓ 加载Express中文模块成功');
  
  // 加载环境变量
  try {
    require('dotenv').config();
    console.log('✓ 加载环境变量成功');
  } catch (error) {
    console.warn('! 环境变量加载失败，但继续运行:', error.message);
  }
  
  // 创建Express应用实例
  const 应用 = express模块.创建应用();
  console.log('✓ 创建Express应用实例成功');
  
  // 基本中间件配置
  try {
    express模块.解析JSON(应用);
    express模块.解析URL编码(应用, { extended: true });
    console.log('✓ 配置基础中间件成功');
  } catch (error) {
    console.error('✗ 中间件配置失败:', error.message);
    throw error;
  }
  
  // 设置静态文件服务 - 使用原生path模块避免额外依赖
  try {
    const path = require('path');
    const 静态文件路径 = path.join(__dirname, 'public');
    express模块.静态文件服务(应用, '/public', 静态文件路径);
    console.log('✓ 设置静态文件服务成功');
  } catch (error) {
    console.warn('! 静态文件服务配置失败，但继续运行:', error.message);
  }
  
  // 根路由
  express模块.监听GET请求(应用, '/', (请求, 响应) => {
    try {
      express模块.发送JSON(响应, {
        message: '欢迎使用Node.js后端API - 中文函数版',
        status: 'success'
      });
    } catch (error) {
      console.error('根路由错误:', error);
    }
  });
  console.log('✓ 配置根路由成功');
  
  // 健康检查路由
  express模块.监听GET请求(应用, '/health', (请求, 响应) => {
    try {
      express模块.设置状态码(响应, 200);
      express模块.发送JSON(响应, {
        status: 'healthy',
        timestamp: new Date().toISOString()
      });
    } catch (error) {
      console.error('健康检查路由错误:', error);
    }
  });
  console.log('✓ 配置健康检查路由成功');
  
  // 暂时禁用API路由，避免兼容性问题
  console.log('! API路由暂时禁用，待兼容处理');
  
  // 404错误处理
  express模块.监听所有请求(应用, '*', (请求, 响应) => {
    try {
      express模块.设置状态码(响应, 404);
      express模块.发送JSON(响应, {
        error: '接口不存在',
        status: 'error'
      });
    } catch (error) {
      console.error('404处理错误:', error);
    }
  });
  console.log('✓ 配置404错误处理成功');
  
  // 全局错误处理中间件
  express模块.使用中间件(应用, (错误, 请求, 响应, 下一个) => {
    console.error('✗ 服务器错误:', 错误);
    try {
      express模块.设置状态码(响应, 500);
      express模块.发送JSON(响应, {
        error: '服务器内部错误',
        status: 'error'
      });
    } catch (err) {
      console.error('✗ 错误处理中间件本身出错:', err);
    }
  });
  console.log('✓ 配置全局错误处理中间件成功');
  
  // 启动服务器
  const 端口 = process.env.PORT || 3000;
  const 服务器 = express模块.启动服务器(应用, 端口, () => {
    console.log(`✓ 服务器运行在 http://localhost:${端口}`);
  });
  console.log(`! 将在端口 ${端口} 启动服务器`);
  
  // 优雅关闭处理
  const 优雅关闭 = () => {
    console.log('正在关闭服务器...');
    服务器.close(() => {
      console.log('✓ 服务器已关闭');
      process.exit(0);
    });
    
    // 5秒后强制退出
    setTimeout(() => {
      console.error('✗ 强制关闭服务器');
      process.exit(1);
    }, 5000);
  };
  
  // 监听终止信号
  process.on('SIGINT', 优雅关闭);
  process.on('SIGTERM', 优雅关闭);
  console.log('✓ 配置优雅关闭处理成功');
  
  // 导出应用实例供其他模块使用
  module.exports = 应用;
  
} catch (error) {
  console.error('✗ 应用启动失败:', error.message);
  console.error('✗ 详细错误:', error);
  process.exit(1);
}


